#ifndef _CLIENT_
#define	_CLIENT_

#include <iostream>
#include <string.h>
#include <SFML/Graphics.hpp>

#include <cmath>
#include <cstdlib>
#include "Message.hpp"

#include "Objects/PlayerEntity.hpp"
#include "Scripting/Scripting.hpp"
#include "NetworkHandler.hpp"
#include "Content/MapLoader.hpp"
#include "Graphics/Graphics.hpp"
#include "Graphics/UI/UI.hpp"
#include "Utilities/IntervalCounter.hpp"
#include "Utilities/StringHelper.hpp"
#include "UI/ChatBox.hpp"
#include "Networking.hpp"
#include "ClientEngine.hpp"

class Client{
private:

    sf::RenderWindow* window;

    sf::Clock clientTime;

    NetworkHandler* networkHandler;

    byte clientIndex;
    Camera* camera;
    ClientEngine* engine;

public:
    Client();
    int setup();
    int connect(std::string sAddr, unsigned short sPort);
    int run();
    void cleanup();
};

#endif

